A Framework for Assertion-Based Debugging in Constraint Logic Programming
نویسندگان
چکیده
A b s t r a c t . We propose a general framework for assertion-based debugging of constraint logic programs. Assertions are linguistic constructions which allow expressing properties of programs. We define assertion schemas which allow writing (partial) specifications for constraint logic programs using quite general properties, including user-defined programs. The framework is aimed at detecting deviations of the program behavior (symptoms) with respect to the given assertions, either at compile-time or run-time. We provide techniques for using information from global analysis both to detect at compile-time assertions which do not hold in at least one of the possible executions (i.e., static symptoms) and assertions which hold for all possible executions (i.e., statically proved assertions). We also provide program transformations which introduce tests in the program for checking at run-time those assertions whose status cannot be determined at compile-time. Both the static and the dynamic checking are provably safe in the sense that all errors flagged are definite violations of the specifications. Finally, we report on an implemented instance of the assertion language and framework.
منابع مشابه
A Framework for Assertion - based Debuggingin Constraint Logic
We propose a general framework for assertion-based debugging of constraint logic programs. Assertions are linguistic constructions which allow expressing properties of programs. We deene assertion schemas which allow writing (partial) speciications for constraint logic programs using quite general properties, including user-deened programs. The framework is aimed at detecting deviations of the ...
متن کاملTechnical report CLIP-1/2014.0 An Approach to Higher-Order Assertion-based Debugging of Higher-Order (C)LP Programs
Higher-order constructs extend the expressiveness of firstorder (Constraint) Logic Programming ((C)LP) both syntactically and semantically. At the same time assertions have been in use for some time in (C)LP systems helping programmers detect errors and validate programs. However, these assertion-based extensions to (C)LP have not been integrated well with higher-order to date. This paper contr...
متن کاملAn Approach to Higher-Order Assertion-based Debugging of Higher-Order (C)LP Programs
Higher-order constructs extend the expressiveness of firstorder (Constraint) Logic Programming ((C)LP) both syntactically and semantically. At the same time assertions have been in use for some time in (C)LP systems helping programmers detect errors and validate programs. However, these assertion-based extensions to (C)LP have not been integrated well with higher-order to date. This paper contr...
متن کاملAn Approach to Assertion-based Debugging of Higher-Order (C)LP Programs
Higher-order constructs extend the expressiveness of firstorder (Constraint) Logic Programming ((C)LP) both syntactically and semantically. At the same time assertions have been in use for some time in (C)LP systems helping programmers detect errors and validate programs. However, these assertion-based extensions to (C)LP have not been integrated well with higher-order to date. This paper contr...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1998